﻿using System.Collections.Generic;

namespace cludg.Services.Content
{
	using Domain.Content.Stories;
	using Domain.Users;

	/// <summary>
	/// Comment service interface
	/// </summary>
	public interface ICommentService
	{
		/// <summary>
		/// Create new comment
		/// </summary>
		/// <param name="storyId">Stroy Id</param>
		/// <param name="parentCommentId">Parent comment id (null if high level comment)</param>
		/// <param name="author">Comment author</param>
		/// <param name="text">Comment text</param>
		/// <returns>Created comment</returns>
		Comment NewComment(string storyId, string parentCommentId, User author, string text);

		Comment ById(string commentId);

		void UpdateComment(Comment comment);
	}
}
